실습: 데이터 가시화#

강좌: 수치해석 프로젝트

Space X 비행 자료 분석#

주식 데이터 구하기#

국내 주식#

미국 주식#

환율#

데이터 가시화#

  • 국내 및 미국 주식회사 각 2곳을 선택하고 1년동안 주가 및 거래량 변화를 가시화하자.

  • 위 4개의 회사의 주가를 1개 통화 (원화 또는 달러)로 비교하라.

%matplotlib inline
from matplotlib import pyplot as plt

import pandas as pd
import numpy as np

plt.style.use('ggplot')
plt.rcParams['figure.dpi'] = 150
# Text 데이터 Encoding 정보 필요 (utf8 vs cp949)
sample = pd.read_csv('stock_ecopro.csv', encoding='cp949')
sample.head()
일자 종가 대비 등락률 시가 고가 저가 거래량 거래대금 시가총액 상장주식수
0 2023/08/30 1233000 12000 0.98 1247000 1260000 1228000 230778 287823716000 32831914644000 26627668
1 2023/08/29 1221000 -34000 -2.71 1241000 1248000 1188000 543970 663813159000 32512382628000 26627668
2 2023/08/28 1255000 -2000 -0.16 1275000 1275000 1242000 435203 547650033000 33417723340000 26627668
3 2023/08/25 1257000 -2000 -0.16 1229000 1279000 1218000 571936 716752896000 33470978676000 26627668
4 2023/08/24 1259000 38000 3.11 1252000 1271000 1230000 695444 873730296000 33524234012000 26627668

Tip 1#

일자가 string object로 저장되어 있는데, 이를 axis로 쓰기 위해 date 로 변환하는 방법

  • datetime 패키지 내 strptime 함수를 이용

    • String을 지정된 형식으로 분석 후 년월일로 변환

    • 국내 주가 형식은 Y/M/D 임

# 일자 형식이 object 임
sample['일자'].dtype
dtype('O')
# 일자 형식이 object 임
sample['일자'][0]
'2023/08/30'
from datetime import datetime
# 날자 변환
datetime.strptime(sample['일자'][0],"%Y/%m/%d").date()

# DIY: 새로운 column을 만들고 모든 일자를 변환해야 함
datetime.date(2023, 8, 30)

Tip 2#

숫자에 콤마가 있어서 pandas에서 float 이 아닌 string으로 인식하는 경우 변환

  • 콤마를 제거 (치환) -> string을 float으로 변환

# 첫번째 행의 매메 기준율 값 
val = '1,326.54'
print(val)

# ',' 제거 : ','를 ''로 치환
print(val.replace(',', ''))

# 형식 확인
print(type(val.replace(',', '')))

# float으로 변환 : float(txt)
val2 = float(val.replace(',', ''))

# 형식 확인
type(val2)
1,326.54
1326.54
<class 'str'>
float

Tip 3#

특정 index 값을 추출하려고 할 때

  • 2개의 dataframe df1, df2 가 있음

  • df2의 index로 df1 값 출력하기

    • df1.loc[df2.index]